Yes. But don't worry. All you need is the main ideas.
The BufferedReader
object uses
the InputStreamReader
object as its connection
to System.in.
This connection is made when the BufferedReader
is constructed:
BufferedReader stdin = new BufferedReader(inStream );
Think of this as an assembly line: System.in gets characters from the
keyboard.
The InputStreamReader
reads the characters
from System.in and hands them to the BufferedReader
.
The BufferedReader
objects hands the data to your program when
requested.
Looking at the picture you see why this is called an "input stream". Data streams in from the keyboard through several processing stages before it gets to your program. You don't have to memorize and completely understand all of this right now. It is confusing. In fact, it is here that many text books use their own simpler input methods (which usually does little more than hide what is going on).